package org.example.volunteerend.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.example.volunteerend.entity.CommunityComment;

@Mapper
public interface CommunityCommentMapper {
    
    /**
     * 添加评论
     */
    int insert(CommunityComment comment);
    
    /**
     * 查询项目一级评论
     */
    List<CommunityComment> findRootCommentsByProjectId(
            @Param("projectId") Integer projectId,
            @Param("sortBy") String sortBy,
            @Param("sortOrder") String sortOrder);
    
    /**
     * 查询评论的回复
     */
    List<CommunityComment> findRepliesByParentId(@Param("parentCommentId") Integer parentCommentId);
    
    /**
     * 查询项目所有评论（包括回复）
     */
    List<CommunityComment> findAllCommentsByProjectId(
            @Param("projectId") Integer projectId,
            @Param("sortBy") String sortBy,
            @Param("sortOrder") String sortOrder);
    
    /**
     * 统计项目评论数量
     */
    int countCommentsByProjectId(@Param("projectId") Integer projectId);
} 